RFC 3339
RFC 3339 Date and Time on the Internet: Timestamps インターネット上の日付と時刻: タイムスタンプ
概要
この文書は、インターネットプロトコルで使用する日付と時刻の形式を定義します。これは、グレゴリオ暦を用いた日付と時刻の表現に関する ISO 8601 標準のプロファイルです。
1. はじめに
日付と時刻の形式は、インターネット上で多くの混乱と相互運用性の問題を引き起こします。本文書では、インターネットプロトコルで日付と時刻を表現および使用する際に発生する多くの問題を取り上げ、一貫性と相互運用性を向上させるための推奨事項を示します。
本文書には、グレゴリオ暦を用いた日付と時刻の表現に関するISO 8601 ISO8601 標準のインターネットプロファイルが含まれています。 インターネットプロトコルでは、日付と時刻の値は様々な方法で表現されますが、本文書では、インターネットプロトコルイベントのタイムスタンプという一般的な用法にのみ焦点を当てています。この限定的な考察により、以下の結果が生じます。
すべての日付と時刻は、「現在の時代」(西暦0000年から西暦9999年の間)であると想定されます。
表現されるすべての時刻は、協定世界時(UTC)との明確な関係(オフセット)を持ちます。 (これは、スケジュールアプリケーションにおける一部の用法とは異なります。これらのアプリケーションでは、現地時間と場所は分かっていても、UTCとの実際の関係は政治家や行政機関の未知または予測不可能な行動に依存する可能性があります。2005年3月23日17:00のニューヨークに対応するUTC時間は、夏時間に関する行政上の決定に依存する可能性があります。本仕様では、このような考慮事項については明確に扱いません。)
タイムスタンプは、UTC導入前の時刻を表すことができます。このようなタイムスタンプは、その時点で利用可能な最良の方法を用いて、世界時を基準として表されます。
日付と時刻の表現は、ある時点の瞬間を表します。期間または間隔の記述については、ここでは扱いません。
2. 定義
本文書における「しなければならない(MUST)」、「してはならない(MUST NOT)」、「必須(REQUIRED)」、「しなければならない(SHALL)」、「してはならない(SHALL NOT)」、「すべきである(SHOULD)」、「すべきでない(SHOULD NOT)」、「推奨される(RECOMMENDED)」、「してもよい(MAY)」、「任意(OPTIONAL)」というキーワードは、RFC 2119 RFC2119 に規定されているとおりに解釈されます。 UTC 国際度量衡局(BIPM)が管理する協定世界時。
秒 国際単位系における時間の基本単位。外部磁場の影響を受けない基底状態にあるセシウム133原子の超微細遷移によって吸収または放出されるマイクロ波光の9,192,631,770サイクルの持続時間として定義されます。
分 60秒の時間。ただし、閏秒を分単位で表記する方法については、セクション5.7および付録Dの制限事項も参照してください。
時 60分の時間。
日 24時間の時間。
閏年 グレゴリオ暦において、366日ある年。
閏年とは、4で割り切れる整数倍の年です。ただし、100周年記念年(つまり100で割り切れる年)の場合は、400で割り切れる整数倍の年とします。
ABNF 拡張バッカスナウア記法。ABNF で定義されているように、プロトコルまたは言語で許容される文字列を表すために使用される形式です。 電子メールの日付/時刻形式
インターネットの日付/時刻形式
この文書のセクション5で定義されている日付形式です。
タイムスタンプ この用語は、この文書では、ある瞬間の明確な表現を指します。
Z 時刻に適用された場合、UTC オフセット 00:00 を示す接尾辞。ICAO 音声アルファベットの文字「Z」から「Zulu」と発音されることが多い。
3. 2桁年
以下の要件は、2桁年号の曖昧性に関する問題に対処するためのものです。
o インターネットプロトコルは、日付において4桁の年号を生成しなければなりません。
o 2桁年号の使用は非推奨です。2桁年号を受信した場合は、誤った解釈によってプロトコルまたは処理に障害が発生しない場合にのみ受け入れるべきです(例:ログ記録やトレースの目的のみで使用する場合)。
o 2桁年号を使用するプログラムが、1999年以降の年号を3桁で表現する可能性があります。これは、プログラムが単に年号から1900を減算し、桁数をチェックしない場合に発生します。このような不完全なソフトウェアによって生成された日付を堅牢に処理したいプログラムは、3桁年号に1900を加算しても構いません。
o 2桁の年号を使用するプログラムが、1999年以降の年号を「:0」、「:1」、…「:9」、「;0」、…と表現する可能性があります。これは、プログラムが単に西暦から1900を減算し、その10年をUS-ASCII文字の0に加算した場合に発生します。このような不完全なソフトウェアによって生成された日付を堅牢に処理したいプログラムは、数値以外の10年を検知し、適切に解釈する必要があります。
2桁の年号に関する問題は、インターネットプロトコルで使用されるすべての日付と時刻が完全修飾でなければならない理由を十分に示しています。